package com.dftdla.dao.service;

import com.dftdla.dao.pojo.ChatUser;
import com.baomidou.mybatisplus.extension.service.IService;
import io.netty.channel.Channel;

/**
* @author 14501
* @description 针对表【chat_user】的数据库操作Service
* @createDate 2023-11-28 18:18:29
*/
public interface ChatUserService extends IService<ChatUser> {
    /**
     * 注册用户
     * @param user 用户实体类
     * @return msg
     */
    String register(ChatUser user);

    /**
     * 判断是否能够登录
     * @param userId 用户id
     * @return true 可以登陆
     */
    boolean canLogin(Long userId);

    /**
     * 用户登录
     * @param userId 用户id
     * @return token
     */
    String login(Long userId);

    /**
     * 鉴权
     * @param token jwt
     * @param channel channel管道
     * @return 是否合法
     */
    boolean doAuth(String token, Channel channel);

    /**
     * 退出登录
     * @param userId 用户id
     */
    void logout(Long userId);
}
